package pe.edu.upc.poo;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

/*import java.util.Iterator;*/

public class AdmTarea {

	private  ArrayList<Tarea> tareas;
	private boolean resultadoRegistro=true;
	public AdmTarea() {
		// Creacion de la coleccion de tareas
		tareas = new ArrayList<Tarea>();
	}

	public Tarea verificarEstadoTareaPorCodigo(int tareaId,boolean estado) {
		for (Tarea tarea : tareas)
			if (tarea.getTarId()==(tareaId) && tarea.isTarEstado()==estado)
				return tarea;
		return null;
	}
	
	public Tarea buscarTareaPorCodigo(int tareaId) {
		for (Tarea tarea : tareas)
			if (tarea.getTarId()==(tareaId))
				return tarea;
		return null;
	}
	
	public void actualizarEstadoTareaPorCodigo(int tareaId,boolean estado) {
		for (Tarea tarea : tareas)
			if (tarea.getTarId()==(tareaId))
				tarea.setTarEstado(estado);
	}
	
	public void actualizarSituacionTareaPorCodigo(int tareaId,int responsable,String situacion) {
		for (Tarea tarea : tareas)
			if (tarea.getTarId()==(tareaId) && tarea.getResponsable()==responsable)
				tarea.setTarSituacion(situacion);
	}

	public boolean noExisteTarea(int tareaId) {
		return buscarTareaPorCodigo(tareaId) == null;

	}

	public void eliminarTarea(int tareaId) {
		Tarea tarea = buscarTareaPorCodigo(tareaId);
		if (tarea != null)
			tareas.remove(tarea);
	}

	public int getTotalTareas() {
		return tareas.size();
	}

	public Date getDate(String date) {
		DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

		try {

			return df.parse(date);

		} catch (ParseException ex) {
		}

		return null;
	}

	
	public boolean registrarTarea(Integer tarId, String tarAsunto,Date tarFechaVencimiento,int responsable,
			String tarComentario, boolean tarEstado,String tarUsuarioIdCreador,
			Date tarFechaRegistro, String tarUsuarioIdModificacion,
			Date tarFechaModificacion,String tarSituacion) {
		
		
		if (tarAsunto==null){
			System.out.println("El asunto de la tarea debe  tener un valor");
			resultadoRegistro=false;
		}

		if (tarFechaVencimiento==null){
			System.out.println("La  fecha de vencimiento de la tarea debe  tener un valor");
			resultadoRegistro=false;
		}
		
		if (responsable <= 0){
			System.out.println("el responsable de la tarea debe  tener un valor");
			resultadoRegistro=false;
		}
		
		if (resultadoRegistro==true) {
			Tarea tarea = new Tarea(tarId, tarAsunto, tarFechaVencimiento,
					responsable, tarComentario,tarEstado,
					tarUsuarioIdCreador, tarFechaRegistro,tarUsuarioIdModificacion,tarFechaModificacion,
					tarSituacion);
			tareas.add(tarea);
		}
		return resultadoRegistro;
	}
	
	
}


